package com.home.andromotic;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import com.home.andromotic.model.IOIODevice;

public class ActividadAgregarDispositivosAPerfil extends Activity {

	private int grupoPerfil;
	private int perfilSeleccionado;
	private AndromoticDbHelper dbHelper;
	private ArrayList<IOIODevice> posiciones;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_agregar_dispositivo);
		dbHelper = new AndromoticDbHelper(getApplicationContext());
		grupoPerfil = -1;
		Intent externo = getIntent();
		Bundle b = externo.getExtras();
		grupoPerfil = b.getInt("perfil");
		
		perfilSeleccionado = -1;
		
		//
		Button addBtn = (Button) findViewById(R.id.device_add_btn_add);
		addBtn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				ArrayList<AndromoticProfile> perfileses = dbHelper.getAndromoticProfiles();
				for(int i = 0 ; i < posiciones.size() ; i++){
					dbHelper.setDeviceOnProfile(perfileses.get(perfilSeleccionado), posiciones.get(i));
				}
			}
		});
		
		configListaPerfiles();
		configListaDevices();
	}
	
	private void configListaPerfiles() {
		ListView listaPerfiles = (ListView) findViewById(R.id.agregar_a_perfil_lista_perfiles);
		ArrayList<AndromoticProfile> perfiles = new ArrayList<AndromoticProfile>();
		perfiles.addAll(dbHelper.getAndromoticProfiles());
		String[] nombresPerfil = new String[] { "Perfil 1", "Perfil 2","Perfil 3" };
		ArrayList<String> nombresProfiles = new ArrayList<String>();
		
		for(int i  = 0 ; i < perfiles.size() ; i++){
			nombresProfiles.add(perfiles.get(i).getNombre());
		}
		
		nombresPerfil = (String[]) nombresProfiles.toArray(new String[nombresProfiles.size()]);
		
		ArrayAdapter<String> adaptadorPerfiles = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, android.R.id.text1, nombresPerfil);
		
		listaPerfiles.setAdapter(adaptadorPerfiles);

		/* Listener */
		listaPerfiles.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				perfilSeleccionado = position;	
			}
		});
	}

	private void configListaDevices() {
		ListView listaDispositivos = (ListView) findViewById(R.id.agregar_a_perfil_lista_dispositivos);
		final ArrayList<IOIODevice> dispositivos = new ArrayList<IOIODevice>();
		for(int i = 0; i < 6 ; i++){
			dispositivos.addAll(dbHelper.getIOIODevicesByZone(i));
		}
		String[] nombresDispositivos = new String[] { "device 1", "device 2","device 3" };
		ArrayList<String> nombreDev = new ArrayList<String>();
		for(int i = 0; i < dispositivos.size() ; i++){
			nombreDev.add(dispositivos.get(i).getNombre());
		}
		nombresDispositivos = (String[]) nombreDev.toArray(new String[nombreDev.size()]);
		ArrayAdapter<String> adaptadorDispositivos = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, android.R.id.text1, nombresDispositivos);
		listaDispositivos.setAdapter(adaptadorDispositivos);
		
		posiciones = new ArrayList<IOIODevice>();
		/* Listener */
		listaDispositivos.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				posiciones.add(dispositivos.get(position));
			}
		});
	}



	// ESTE METODO RECIBE EL PAQUETE AGREGADO
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

	}
}
